Part Number Hot Search : 
1A101MDD EA099 3386U202 68HC8 MAX1605 S0706 1N4003 FRS3M
Product Description
Full Text Search
 

To Download L6470 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  target specification this is preliminary information on a new product foreseen to be developed. details are subject to change without notice. november 2009 doc id 16737 rev 1 1/61 61 L6470 fully integrated microstepping motor driver with motion engine and spi features operating voltage: 8 - 45 v 7.0 a output peak current (3.0 a r.m.s.) low r dson power mosfets programmable speed profile and positioning programmable power mos slew-rate up to 1/128 microstepping sensorless stall detection spi interface low quiescent and standby currents programmable non dissipative overcurrent protection on high and low-side two levels overtemperature protection miniaturized and thermally enhanced packages: qfn7x7-48, htssop28 and powerso36 applications bipolar stepper motor description the L6470, realized in analog mixed signal technology, is an advanced fully integrated solution suitable for driving two phase bipolar stepper motors with microstepping. it integrates a dual low r dson dmos full bridge with all of the power switches equipped with an accurate on chip current sensing ci rcuitry suitable for non dissipative current control and overcurrent protections. thanks to a unique control system a true 1/128 steps resolution is achieved. the digital control core can generate user defined motion profiles with acceleration, deceleration, speed or target position easily programmed through a dedicated registers set. all commands and data registers, including those used to set analogue values (i.e. current control value, current protection trip point, dead time, pwm frequency etc.) are sent through a standard 5mbit/s spi. a very rich set of protections (thermal, low bus voltage, overcurrent, moto r stall) allows designing a fully protected application, as required by most demanding motor control applications htssop28 table 1. device summary order codes package packing L6470h htssop28 tube L6470q qfn7x748 tray L6470pd powerso36 tube www.st.com
contents L6470 2/61 doc id 16737 rev 1 contents 1 block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2 electrical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1 absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 recommended operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 electrical characteristi cs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4 pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.1 pin list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5 typical applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 6 functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 6.1 device power-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 6.2 logic i/o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 6.3 charge pump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 6.4 microstepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 6.5 absolute position counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6.6 programmable speed profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6.7 motor control commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6.7.1 constant speed commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.7.2 positioning commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.7.3 motion commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.7.4 stop commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.7.5 step-clock mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.8 internal oscillator and oscillator driver . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.8.1 internal oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.8.2 external clock source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.9 overcurrent detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.10 undervoltage lock-out (uvlo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.11 thermal warning and thermal shutdown . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.12 reset and standby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
L6470 contents doc id 16737 rev 1 3/61 6.13 external switch (sw pin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.14 programmable dmos slew-rate, dead-time and blanking-time . . . . . . . . 27 6.15 integrated analog to digital converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 6.16 internal voltage regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 6.17 busy pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6.18 flag pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 7 phase current control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 7.1 pwm sinewave generators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 7.2 sensorless stall detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 7.3 bemf compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 7.4 motor supply voltage compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 7.5 winding resistance thermal drift compensation . . . . . . . . . . . . . . . . . . . . 31 8 serial interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 9 programming manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 9.1 registers and flags description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 9.1.1 abs_pos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 9.1.2 el_pos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 9.1.3 mark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 9.1.4 speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 9.1.5 acc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 9.1.6 dec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 9.1.7 max_speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 9.1.8 min_speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 9.1.9 fs_spd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 9.1.10 kval_hold, kval_run, kval_acc and kval_dec . . . . . . . . . . . . 38 9.1.11 int_speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 9.1.12 st_slp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 9.1.13 fn_slp_acc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 9.1.14 fn_slp_dec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 9.1.15 k_therm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 9.1.16 adc_out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 9.1.17 ocd_th . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.1.18 stall_th . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
contents L6470 4/61 doc id 16737 rev 1 9.1.19 step_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 9.1.20 alarm_en . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 9.1.21 config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 9.1.22 status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 9.2 application commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 9.2.1 nop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 9.2.2 setparam (param, value) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 9.2.3 getparam (param) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 9.2.4 run (dir, spd) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 9.2.5 stepclock (dir) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 9.2.6 move (dir, n_step) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 9.2.7 goto (abs_pos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 9.2.8 goto_dir (dir, abs_pos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 9.2.9 gountil (act, dir, spd) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 9.2.10 gohome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 9.2.11 resetpos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 9.2.12 resetdevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 9.2.13 softstop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 9.2.14 hardstop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 9.2.15 softhiz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 9.2.16 hardhiz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 9.2.17 lastcommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 9.2.18 getstatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 10 package mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 11 revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
L6470 list of tables doc id 16737 rev 1 5/61 list of tables table 1. device summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 table 2. absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 table 3. recommended operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 table 4. electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 table 5. pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 table 6. typical application values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 table 7. cl values according to external oscillator frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 table 8. registers map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 table 9. el_pos register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 table 10. voltage amplitude regulation registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 table 11. winding resistance thermal drift compensation coefficient . . . . . . . . . . . . . . . . . . . . . . . . . 40 table 12. adc_out value and motor supply voltage compensation feature . . . . . . . . . . . . . . . . . . 40 table 13. overcurrent detection threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 table 14. stall detection threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 table 15. step_mode register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 table 16. step mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 table 17. alarm_en register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 table 18. config register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 table 19. oscillator management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 table 20. external switch hard stop interrupt mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 table 21. overcurrent event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 table 22. programmable power bridge output slew-rate values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 table 23. motor supply voltage compensation enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 table 24. pwm frequency: integer division factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5 table 25. pwm frequency: multiplication factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 table 26. available pwm frequen cies [khz]: 8 mhz oscillator frequency . . . . . . . . . . . . . . . . . . . . . 46 table 27. available pwm frequen cies [khz]: 16 mhz oscillator frequency . . . . . . . . . . . . . . . . . . . . 47 table 28. available pwm frequen cies [khz]: 24 mhz oscillator frequency . . . . . . . . . . . . . . . . . . . . 47 table 29. available pwm frequen cies [khz]: 32 mhz oscillator frequency . . . . . . . . . . . . . . . . . . . . 48 table 30. status register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 table 31. status register dir bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 table 32. status register mot_state bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 table 33. application commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 table 34. nop command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 table 35. setparam command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 table 36. getparam command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 table 37. run command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 table 38. stepclock command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 table 39. move command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 table 40. goto command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 table 41. goto_dir command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 table 42. gountil command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 table 43. gohome command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 table 44. resetpos command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 table 45. resetdevice command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 table 46. softstop command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 table 47. hardstop command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 table 48. softhiz command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
list of tables L6470 6/61 doc id 16737 rev 1 table 49. hardhiz command structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 table 50. lastcommand command structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 table 51. getstatus command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 table 52. htssop28 mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 table 53. document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
L6470 list of figures doc id 16737 rev 1 7/61 list of figures figure 1. block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 figure 2. pin connection (top view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 figure 3. bipolar stepper motor control application using L6470 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 figure 4. charge pump circuitry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 figure 5. normal mode and microstepping (128 microsteps) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 figure 6. constant speed commands examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 figure 7. positioning command examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 figure 8. motion commands examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 figure 9. oscin and oscout pins configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 figure 10. external switch connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 figure 11. internal 3 v linear regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 figure 12. bemf compensation curve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 figure 13. motor supply voltage compensation circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 figure 14. spi timings diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 figure 15. daisy-chain configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 figure 16. htssop28 mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
block diagram L6470 8/61 doc id 16737 rev 1 1 block diagram figure 1. block diagram am02 3 77v1 3 v volt a ge reg. adc ext. o s c. driver & clock gen. 16mhz o s cill a tor ch a rge p u mp v dd s pi regi s ter s control logic c u rrent dac s & comp a r a tor s temper a t u re s en s ing c u rrent s en s ing s tby flag c s ck s do s di bu s y s w s tck dgnd vdd o s cin o s cout adcin vreg cp vboot agnd pgnd pgnd v s a v s a out1a out2a v s b v s b out1b out2b h s a1 l s a1 h s a2 l s a2 h s b1 l s b1 h s b2 l s b2 h s a1 l s a1 h s a2 l s a2 h s b1 l s b1 h s b2 l s b2 v dd v b oot v b oot v b oot v b oot
L6470 electrical data doc id 16737 rev 1 9/61 2 electrical data 2.1 absolute maximum ratings table 2. absolute maximum ratings symbol parameter test condition value unit v dd logic interface supply voltage 5.5 v v s motor supply voltage v sa = v sb = v s 48 v v gnd, diff differential voltage between agnd, pgnd and dgnd 0.3 v v boot bootstrap peak voltage 55 v v reg internal voltage regulator output pin and logic supply voltage 3.6 v v adcin integrated adc input voltage range (adcin pin) -0.3 to +3.6 v v osc oscin and oscout pin voltage range -0.3 to +3.6 v v out_diff differential voltage between v sa , out1 a , out2 a , pgnd and v sb , out1 b , out2 b , pgnd pins v sa = v sb = v s 48 v v logic logic inputs voltage range -0.3 to +5.5 v i out (1) 1. maximum output current limit is related to metal connection and bonding c haracteristics. actual limit must satisfy maximum thermal dissipation constraints. r.m.s. output current 3 a i out_peak (1) pulsed output current t pulse < 1 ms 7 a t op operating junction temperature 150 c t s storage temperature range -55 to 150 c p tot total power dissipation (t a = 25oc) tbd tbd w all pins maximum withstanding voltage range test condition: cdf-aec-q100-002- ?human body model? acceptance criteria ?normal performance? all pins vs. all pins 2000 v maximum withstanding voltage range test condition: tbd - ?charge device model? all pins vs. all pins tbd v
electrical data L6470 10/61 doc id 16737 rev 1 2.2 recommended operating conditions table 3. recommended operating conditions symbol parameter test condition value unit v dd logic interface supply voltage 3.3 v logic outputs 3.3 v 5 v logic outputs 5 v s motor supply voltage v sa = v sb = v s 845v v out_diff differential voltage between v sa , out1 a , out2 a , pgnd and v sb , out1 b , out2 b , pgnd pins v sa = v sb = v s 45 v v reg,in logic supply voltage v reg voltage imposed by external source 3.3 v v adc integrated adc input voltage (adcin pin) 0v reg v t j operating junction temperature - 25 125 c
L6470 electrical characteristics doc id 16737 rev 1 11/61 3 electrical characteristics v sa = v sb = 36 v; v dd = 3.3 v; v reg = 3 v; t j = 25 c, unless otherwise specified. table 4. electrical characteristics symbol parameter test condition min typ max unit general v sthon v s uvlo turn on threshold tbd 8 tbd v v sthoff v s uvlo turn off threshold tbd 6.8 tbd v v regth v reg ok threshold 2.8 v i qu undervoltage motor quiescent supply current tbd tbd a i q quiescent motor supply current internal oscillator selected 7 tbd ma t j(wrn) thermal warning temperature tbd 130 tbd c t j(off) thermal shutdown temperature tbd 160 tbd c charge pump v pump voltage swing for charge pump oscillator 10 v f pump,min minimum charge pump oscillator frequency (1) 660 khz f pump,max maximum charge pump oscillator frequency (1) 800 khz i boot average boot current f sw,a = f sw,b = 15.6 khz pow_sr = ?10? 870 a output dmos transistor r ds(on) high side switch on resistance t j = 25 c, i out = 3a 0.37 tbd t j = 125 c, (2) i out = 3a 0.51 tbd low side switch on resistance t j = 25 c, i out = 3a 0.18 tbd t j = 125 c, (2) i out = 3a 0.23 tbd i dss leakage current out = v s tbd ma out = gnd tbd t r rise time (3) pow_sr = ?11? i out = 1a tbd ns pow_sr = ?10? i lout = 1a tbd pow_sr = ?01? i out = 1a tbd
electrical characteristics L6470 12/61 doc id 16737 rev 1 t f fall time (3) pow_sr = ?11? i out = 1a tbd ns pow_sr = ?10? i out = 1a tbd pow_sr = ?01? i load = 1a tbd sr out output slew-rate pow_sr = ?11? 530 v/s pow_sr = ?10? 290 pow_sr = ?01? 180 dead time and blanking t dt dead time pow_sr = ?11?, f osc = 16mhz 500 ns pow_sr = ?10?, f osc = 16mhz 750 pow_sr = ?01?, f osc = 16mhz 1000 t blank blanking time pow_sr = ?11?, f osc = 16mhz 875 ns pow_sr = ?10?, f osc = 16mhz 1375 pow_sr = ?01?, f osc = 16mhz 1875 source-drain diodes v sd,hs high side diode forward on voltage i out = 3a tbd tbd v v sd,ls low side diode forward on voltage i out = 3a tbd tbd v t rrhs high side diode reverse recovery time i out = 3a tbd ns t rrls low side diode reverse recovery time i out = 3a tbd ns logic v il low level logic input voltage 0.8 v v ih high level logic input voltage 2 v i ih high level logic input current v in = 5v 1 a i il low level logic input current v in = 0v -1 a v ol low level logic output voltage (4) v dd = 3.3v, i ol = 4ma 0.3 v v dd = 5v, i ol = 4ma 0.3 table 4. electrical characteristics (continued) symbol parameter test condition min typ max unit
L6470 electrical characteristics doc id 16737 rev 1 13/61 v oh high level logic output voltage v dd = 3.3v, i oh = 4ma 2.4 v v dd = 5v, i oh = 4ma 4.7 r pu r pd cs pull-up and stby pull-do wn resistors tbd 430 tbd k i logic internal logic supply current 3.3v v reg externally supplied internal oscillator tbd ma 3.3v v reg externally supplied external 8mhz oscillator tbd 3.3v v reg externally supplied external 32mhz oscillator tbd i logic,stby standby mode internal logic supply current 3.3v v reg externally supplied tbd a f stck step clock input frequency tbd mhz internal oscillator and external oscillator driver f osc,i internal oscillator frequency t j = 25c, v reg = 3.3v -3% 16 +3% mhz f osc,e programmable external oscillator frequency 8 32 mhz v oscouth oscout clock source high level voltage internal oscillator 2.4 v v oscoutl oscout clock source low level voltage internal oscillator 0.3 v t roscout t foscout oscout clock source rise and fall time internal oscillator tbd ns t extosc internal to external oscillator switching delay tbd ms t intosc external to internal oscillator switching delay tbd s spi f ck,max maximum spi clock frequency (5) tbd 5 mhz t rck t fck spi clock rise and fall time (5) tbd s t hck t lck spi clock high and low time (5) tbd ns t setcs chip select setup time (5) tbd ns t holcs chip select hold time (5) tbd ns t discs deselect time (5) tbd ns t setsdi data input setup time (5) tbd ns table 4. electrical characteristics (continued) symbol parameter test condition min typ max unit
electrical characteristics L6470 14/61 doc id 16737 rev 1 t holsdi data input hold time (5) tbd ns t ensdo data output enable time (5) tbd ns t dissdo data output disable time (5) tbd ns t vsdo data output valid time (5) tbd ns t holsdo data output hold time (5) tbd ns switch input (sw) r pusw sw input pull-up resistance 65.2 tbd k pwm modulators f pwm programmable pwm frequency (1) f osc = 16mhz 2.8 62.5 khz f osc = 32mhz 5.6 125 n pwm pwm resolution 8 bit overcurrent protection ocd_th max maximum programmable overcurrent detection threshold ocd_th = ?1111? tbd 6 tbd a ocd_th min minimum programmable overcurrent detection threshold ocd_th = ?0000? tbd 0.375 tbd a ocd_th 3a ocd_th = ?0111? tbd 3 tbd a ocd_th res programmable overcurrent detection threshold resolution 0.375 a t ocd,flag ocd to flag signal delay time di out /dt = 350a/s, r flag = tbd tbd ns t ocd,sd ocd to shut-down delay time di out /dt = 350a/s pow_sr = '10' tbd s standby i qstby quiescent motor supply current in standby conditions v s = 8v tbd a v s = 24v tbd t stby,min minimum standby time tbd ms t logicwu logic power-on and wake-up time tbd s t cpwu charge pump power-on and wake-up time power bridges disabled, c p = 10nf, c boot = 220nf tbd ms internal voltage regulator v reg voltage regulator output voltage tbd 3 tbd v i reg voltage regulator output current tbd ma p reg voltage regulator power dissipation tbd mw i reg,stby voltage regulator standby output current tbd ma table 4. electrical characteristics (continued) symbol parameter test condition min typ max unit
L6470 electrical characteristics doc id 16737 rev 1 15/61 integrated analog to digital converter n adc analog to digital converter resolution 5 bit v adc,ref analog to digital converter reference voltage v reg v f s analog to digital converter sampling frequency f pwm khz 1. accuracy depends on osci llator frequency accuracy. 2. tested at 25c in a restricted r ange and guaranteed by characterization. 3. rise and fall time depends on motor supply voltage value. refer to sr out values in order to evaluate the actual rise and fall time. 4. flag and busy open drain outputs included. 5. see figure 14 ? spi timings diagram for details. table 4. electrical characteristics (continued) symbol parameter test condition min typ max unit
pin connection L6470 16/61 doc id 16737 rev 1 4 pin connection figure 2. pin connection (top view) 4.1 pin list /54! /54! 63! 34"9 37 !$#). 62%' /3#). /3 #/54 !'.$ #0 6"/ /4 0'.$ 63" /54" /54" 63" 6$$ 3$/ #+ 3$) $'.$ "539 #3 &,!' 34#+ 0'.$ 63!                             %0!$ !-v table 5. pin description n. name type function 17 vdd power logic outputs supply voltage (pull-up reference) 6vreg power internal 3 v voltage regulator output and 3.3 v external logic supply 7 oscin analog input oscillator pin 1. to connect an external oscillator or clock source 8 oscout analog output oscillator pin 2. to connect an external oscillator. when the internal oscillator is used this pin can supply a 2/4/8/16 mhz clock 10 cp output charge pump oscillator output 11 vboot supply voltage bootstrap voltage needed for driving the high side power dmos of both bridges (a and b) 5 adcin analog input internal analog to digital converter input 2 vsa power supply full bridge a power supply pin. must be connected to v sb 26 12 vsb power supply full bridge b power supply pin. must be connected to v sa 16
L6470 pin connection doc id 16737 rev 1 17/61 27 pgnd ground power ground pin 13 1 out1a power output full bridge a output 1 28 out2a power output full bridge a output 2 14 out1b power output full bridge b output 1 15 out2b power output full bridge b output 2 9 agnd ground analog ground. 4 sw logical input external switch input pin 21 dgnd ground digital ground 22 busy open drain output busy pin is forced low when the device is performing a command 18 sdo logic output data output pin for serial interface 20 sdi logic input data input pin for serial interface 19 ck logic input serial interface clock 23 cs logic input chip select input pin for serial interface 24 flag open drain output status flag pin. an internal open drain transistor can pull the pin to gnd when a programmed alarm condition occurs (step loss, ocd, thermal pre-warning or shutdown, uvlo, wrong command, non performable command) 3stby logic input standby pin. low logic level puts the device in standby mode. if not used, should be connected to vdd 25 stck logic input step clock input epad exposed pad ground internally connected to pgnd, agnd and dgnd pins table 5. pin description (continued) n. name type function
typical applications L6470 18/61 doc id 16737 rev 1 5 typical applications figure 3. bipolar stepper motor control application using L6470 table 6. typical application values name value c vs 220nf c vspol 100 f c reg 100nf c regpol 47 f c dd 100nf c ddpol 10 f d1 bat46sw or 2x 1n4148 c boot 220nf c fly 10nf r pu 39k r sw 100 c sw 10nf r a 2.7k (vs = 36v) r b 62k (vs = 36v) /54! !$#). 6"/ /4 #0 63" 63! 6$$ 62%' 0'.$ !'.$ $'.$ /54" /54" /54! #+ 34# + 3$/ 3$) /3#). /3 #/54 37 #3 "539 &,!' -otor 34"9 # &,9 # 63 # "//4 # 630/, # $$ # $$0/, 2 05 2 " 2 ! 2 05 6 3 , 6  6 $ ?# 30) '0)/ !-v
L6470 functional description doc id 16737 rev 1 19/61 6 functional description 6.1 device power-up at power-up end, the device state is the following: registers are set to default, internal logic is driven by internal oscill ator and a 2mhz clock is provided by oscout pin, bridges are disabled (high z), uvlo bit in status register is forced low (fail condition), flag output is forced low during power-up the device is under reset (all logic io disabled and power bridges in high impedance state) until the following conditions are satisfied: v s is greater than v sthon , v reg is greater than v regth , internal oscillator is operative. any motion command makes the device exiting from high z state (hardstop and softstop included). 6.2 logic i/o pins cs , ck, sdi, stck, sw and stby are ttl/cmos 3.3v-5v compatible logic inputs. pin sdo is a ttl/cmos compatible logic output. vdd pin voltage sets the logic output pins voltage range. a 10f capacitor should be connected to v dd pin in order to obtain a correct operation. pins flag and busy are open drain outputs. 6.3 charge pump to ensure the correct driving of the high side integrated mosfets a voltage higher than the motor power supply voltage needs to be applied to the vboot pin. the high side gate driver supply voltage v boot is obtained through an oscillato r and a few external components realizing a charge pump (see figure 4 ).
functional description L6470 20/61 doc id 16737 rev 1 figure 4. charge pump circuitry 6.4 microstepping the driver is able to divide the single step into up to 128 microsteps. stepping mode can be programmed by step_sel parameter in step_mode register (see ta bl e 1 2 , section 9.1.19: step_mode on page 42 ). step mode can be only changed when motor is stopped. every time the step mode is changed the electrical position (i.e. the point of microstepping sinewave that is generated) is reset to first microstep and the absolute position counter value (see section 6.5 on page 21 ) becomes meaningless. figure 5. normal mode and microstepping (128 microsteps) !-v 6 3 6 3 6 #0 6 $ 6 $ 6 #0 f 05-0 tohighside gatedrivers 6 3 6 #0 6 $ # "//4 # &,9 $ $ 6"//4 #0 6 $$ !-v step step step step step step 2eset position step step step step .ormaldriving -icrostepping 0(!3%!current 0(!3%"current 0(!3%!current 0(!3%"current microsteps  a steps  a steps  a steps  a steps 2eset position
L6470 functional description doc id 16737 rev 1 21/61 when motor speed is greater than a programmable full step speed threshold, the L6470 switches automatically to full-step mode; the driving mode returns to microstepping when motor speed decrease below the full step speed threshold. full step speed threshold is set through the fs_spd register (see section 9.1.9 on page 38 ). 6.5 absolute position counter an internal 22 bit register (abs_pos) takes memory of motor motion according to selected step mode; the stored value unit is equal to the selected step mode (full, half, quarter, etc.). the position range is from -2 21 to +2 21 -1 ()steps (see section 9.1.1 on page 35 ). 6.6 programmable speed profiles the user can easily program a customized speed profile defining independently minimum speed, maximum speed, acceleration and deceleration values by min_speed, max_speed, acc and dec registers respectively (see section 9.1.5 , 9.1.6: dec , 9.1.7: max_speed and 9.1.8: min_speed ). when a command is sent to the device, the integrated logic generates the microstep frequency profile that performs a motor motion compliant to speed profile boundaries. all acceleration parameters are expressed in step/tick 2 and all speed parameters are expressed in step/tick; the unit of measure does not depend on selected step mode. acceleration and deceleration parameters range from 2 -40 to (2 12 -2) ? 2 -40 step/tick 2 (equivalent to 14.55 to 59590 step/s 2 ). minimum speed parameter ranges from 0 to (2 12 - 1 ) ? 2 -24 step/tick (equivalent to 0 to 976.3 step/s). maximum speed parameter ranges from 2 -18 to (2 10 -1) ? 2 -18 step/tick (equivalent to 15.25 to 15610 step/s). 6.7 motor control commands the L6470 can accept different types of commands: constant speed commands (run, gountil), absolute positioning commands (goto, goto_dir, gohome), motion commands (move), stop commands (softstop, hardstop, softhiz, hardhiz).
functional description L6470 22/61 doc id 16737 rev 1 6.7.1 constant speed commands a constant speed comm and will produce a motion in order to reach and maintain a user- defined target speed starti ng from the programmed minimum speed (set in min_speed register) and with the programmed acceleration/deceleration value (set in acc and dec registers) (see figure 14 ). a new constant speed command can be requested anytime. figure 6. constant speed commands examples 6.7.2 positioning commands an absolute positioning comm and will produce a motion in orde r to reach a user-defined position that is sent to the device together with the command. the position can be reached performing the minimum path (minimum physical distance) or forcing a direction (see figure 7 ). performed motor motion is compliant to programmed speed profile boundaries (acceleration, deceleration, minimum and maximum speed). note that with some speed profiles or positioning commands, the deceleration phase starts before the maximum speed is reached. figure 7. positioning command examples !-v 30$ 30$ 30$ 30$ 2un30$ &7 time 3peed s tepfrequency 2un30$ &7 2un30$ &7 2un30$ "7 -inimum speed -inimum speed !-v &orward di rection             0resent position 4arget position 0resent position 4arget position 'o4o  4a r g et p os 'o4o?$)24argetpos &7
L6470 functional description doc id 16737 rev 1 23/61 6.7.3 motion commands motion commands will produce a mo tion in order to perform a user-defined number of microsteps in a user-defined direction that are sent to the device together with the command (see figure 8 ). performed motor motion is compliant to programmed speed profile boundaries (acceleration, deceleration, minimum and maximum speed). note that with some speed profiles or motion commands, the deceleration phase starts before the maximum speed is reached. figure 8. motion commands examples 6.7.4 stop commands a stop command forces the motor to stop. stop commands can be sent anytime. softstop command causes the motor to decelerate , ignoring min_speed constraint, with programmed deceleration value and then to stop. hardstop command stops the motor instantly ignoring deceleration constraint. softhiz command causes the motor to decelerate, ignori ng min_speed constraint, with programmed deceleration value and then forces the bridges in high impedance state (no holding torque is present). hardhiz command instantly forces the bridges in high impedance state (no holding torque is present). 6.7.5 step-clock mode in step clock mode the motor motion is defined by the step clock signal applied to stck pin. at each step clock rising edge, the motor is moved of one microstep in the programmed direction and absolute position is consequently updated. when the system is in step clock mode the sck_mod flag in status register is raised, speed register is set to zero and motor status is considered stopped whatever the stck signal frequency (mot_staus parameter in status register equal to ?00?). !-v programmed !##%,%2!4)/. 30%%$ programmed maximum speed programmed minimum speed time programmed $%#%,% 2!4)/. programmednumberofmicrosteps programmed !##%,%2!4)/. 30%%$ programmed maximum speed programmed minimum speed time programmed $%#%,% 2!4)/. programmednumberofmicrosteps .otewithsome !cceleration$ecelarationprofiles thep rogrammedmaximumspeed isne verreached
functional description L6470 24/61 doc id 16737 rev 1 6.8 internal oscillator and oscillator driver control logic clock can be supplied by the inte rnal 16 mhz oscillator, an external oscillator (crystal or ceramic resonator) or a direct clock signal. these working modes can be selected by ext_clk and osc_sel parameters of config register (see ta bl e 1 5 , paragraph section 9.1.21 on page 43 ). at power-up the device starts using the intern al oscillator and provides a 2 mhz clock signal on the oscout pin. attention: in any case, before changing clock source configuration, a hardware reset is mandatory. 6.8.1 internal oscillator in this mode the internal oscillator is ac tivated and oscin is unused. if oscout clock source is enabled, oscout pin provides a 2, 4, 8 or 16 mhz clock signal (according to osc_sel value); otherwise it is unused (see figure 9 ). 6.8.2 external clock source two types of external clock source can be sele cted: crystal/ceramic reso nator or direct clock source. four programmable clock frequencies are available for each external clock source: 8, 16, 24 and 32 mhz. when an external crystal/resonator is selected, oscin and oscout pins are used to drive the crystal/resonator (see figure 9 ). crystal/resonator and load capacitors (c l ) must be placed as close as possi ble to the pins (see ta b l e 3 ). if a direct clock source is used, it must be connected to oscin pin and oscout pin supplies the inverted oscin signal (see figure 9 ). table 7. cl values according to external oscillator frequency crystal/resonator freq. (1) 1. first harmonic resonance frequency c l (2) 2. lower esr value allows dr iving greater load capacitors 8mhz 25pf (esr max = 80 ) 16mhz 18pf (esr max = 50 ) 24mhz 15pf (esr max = 40 ) 32mhz 10pf (esr max = 40 )
L6470 functional description doc id 16737 rev 1 25/61 figure 9. oscin and oscout pins configurations 6.9 overcurrent detection when the current in any of the power mosfets exceeds a programmed overcurrent threshold, status register ocd flag is forced low until the overcurrent event is expired and a getstatus command is sent to the ic (see paragraphs 9.1.22: status and 9.1.18: stall_th ). overcurrent event expires when all the power mosfet currents fall below the programmed overcurrent threshold. the overcurrent threshold can be programmed through the ocd_th register in one of 16 available values ranging from 375 ma to 6 a with steps of 375 ma (see ta b l e 9 , paragraph 9.1.17: ocd_th ). through the config register oc_sd bit it is possible to set if an overcurrent event causes or not bridges turn-off (switch to high z state); the ocd flag in the status register is raised anyway (see ta bl e 1 7 , paragraphs 9.1.22: status ). 6.10 undervoltage lock-out (uvlo) the L6470 provides a motor supply uvlo protection. when the motor supply voltage falls below the v sthoff threshold, status register uvlo flag is forced low. when a getstatus command is sent to the ic, the uvlo flag is released even if the uvlo condition is still present (see paragraphs 9.1.22: status and 9.2.18: getstatus ). undervoltage condition expires when the motor supply voltage exceeds the v sthon voltage. when the device is in undervoltage condition no motion command can be performed. uvlo flag is forced low by logic reset even (power-up included) if no uvlo condition is present. !-v 5.53%$ /3#). /3#/54 /3#). /3#/54 /3#). /3#/54 -(z -(z -(z %xternaloscillator configuration %xternalclocksource configuration )nternaloscillator configuration withcl ockgeneration /3#). /3#/54 )nternaloscillator configuration withoutclocksourc e 5.53%$ 5.53%$ /3#?3%,xx /3#?3%,xx # , # , %84?#,+ %84?#,+
functional description L6470 26/61 doc id 16737 rev 1 6.11 thermal warning and thermal shutdown an internal sensor allows the L6470 to detect when the device internal temperature exceeds a thermal warning or an overtemperature threshold. when the thermal warning threshold (t j(wrn) ) is reached the status register th_wrn flag is forced low (see paragraph 9.1.22: status ) until the temperature decrease below t j(wrn) and a getstatus command is sent to the ic (see paragraphs 9.1.22 and 9.2.18 ). when the thermal shutdown threshold (t j(off) ) is reached the device goes in thermal shutdown condition: the status register th_sd flag is forced low, the power bridges are disabled (switch to high z state) and the status register hiz flag is raised (see paragraph 9.1.22 ). thermal shutdown condition only expires when the temperature goes below the thermal warning threshold (t j(wrn) ). on exit from thermal shutdown condition bridge s are still disabled (hiz flag high); whichever motion command makes the device exiting from high z state (hardstop and softstop included). 6.12 reset and standby the device can be reset and put into standby mode through a dedicated pin. when stby pin is driven low, the bridges are left open (high z state), the internal charge pump is stopped, the spi interface and control logic are disabled and the internal 3 v voltage regulator maximum output current is reduced to i reg,stby ; as a result the L6470 heavily reduces the power consumption. at the same time the registers values are reset to default and all protection functions are disabled. stby input has to be forced low at least for t stby,min in order to ensure the complete switch to standby mode. on exit from standby mode, as well as for ic power-up, a delay of up to t logicwu must be given before applying a new command to allo w proper oscillator an d logic startup and a delay of up to t cpwu must be given to allow the charge pump startup. on exit from standby mode the bridges are disabled (hiz flag high) and whichever motion command makes the device exiting from high z state (hardstop and softstop included). 6.13 external switch (sw pin) sw pin sources a current towards an external switch in order to test whether it is closed or open: the sw input is internally pulled-up to v dd and detects if the pin is open or connected to ground (see figure 10 ). sw_f bit of status register indicates if the switch is open (?0?) or closed (?1?) (see paragraph 9.1.22 ); the bit value is refreshed at every system clock cycle (125 ns). sw_evn flag of status register is raised when a s witch turn-on event (sw input falling edge) is detected (see paragraph 9.1.22 ). a getstatus command releases the sw_evn flag (see paragraph 9.2.18 . by default a switch turn-on event causes a hardstop interrupt (sw_mode bit of config register set to ?0?). otherwise (sw_mode bit of config regist er set to ?1?), switch input events do not cause interrupts and the switch status information are at user disposal (see ta bl e 1 6 , paragraph 9.1.22 ).
L6470 functional description doc id 16737 rev 1 27/61 switch input can used by gountil command as described in paragraph 9.2.9 . if the sw input is unused, it should be connected to vdd. figure 10. external switch connection 6.14 programmable dmos slew-rate, dead-time and blanking-time using config register pow_sr parameter, it is possible to set the commutation speed of the power bridges output (see ta bl e 1 8 , paragraph 9.1.21 ). 6.15 integrated analog to digital converter the L6470 integrates a nadc bit ramp-compare analog to digital converter with a reference voltage equal to vreg. the analog to digital converter input is available through the adcin pin and the conversion result is available in the adc_out register (see paragraph 9.1.16 ). sampling frequency is equal to the programmed pwm frequency. the adc_out value can be used for motor supply voltage compensation or can be at user disposal. 6.16 internal voltage regulator the L6470 integrates a voltage regulator which generates a 3 v voltage starting from motor power supply (vsa and vsb). in order to make th e voltage regulator stable, at least 22 f should be connected between vreg pin and ground (suggested value is 47 f). the internal voltage regulator can be used to supply the vdd pin in order to make the device digital output range 3.3 v compatible ( figure 11 ). a digital output range 5 v compatible can be obtained connecting vdd pin to an external 5 v voltage source. in both cases, a 10 f capacitance should be connected to vdd pin in order to obtain a correct operation. the internal voltage regulator is able to supply a current up to ireg,max, internal logic consumption included (ilogic). when the device is in standby mode the maximum current that can be supplied is ireg, stby, internal consumption included (ilogic, stby). if an external 3.3 v regulated voltage is available, it can be applied to the vreg pin in order to supply all the internal logic and avoiding power dissipation of the internal 3 v voltage regulator ( figure 11 ). !-v %xternal 3witch 37 6 $$
functional description L6470 28/61 doc id 16737 rev 1 figure 11. internal 3 v linear regulator 6.17 busy pin this pin is an open drain output forced low wh ile a constant speed, absolute positioning or motion command is under execution. busy pin is released when the command has been executed. the status register includes a busy flag that is the busy pin mirror (see paragraph 9.1.22 ). in case of daisy-chain configuration, busy pins of different ics can be or-wired to save host controller gpios. 6.18 flag pin an internal open drain transistor pulls the flag pin to ground when at least one of the following conditions occurs: power-up or standby/reset exit, stall detected on a bridge, stall detected on b bridge, overcurrent detection, thermal warning, thermal shutdown, uvlo, a switch turn-on event, wrong command, non performable command. it is possible to mask one or more alarm conditions by programming the alarm_en register (see paragraph 9.1.20 , ta bl e 1 3 . ). if the corresponding bit of alarm_en register is low, the alarm condition is masked and it does not cause a flag pin transition; all other actions imposed by alarm conditions are performed anyway. in case of daisy-chain configuration, flag pins of different ics can be or-wired to save host controller gpios. !-v 6 2%' 6 $$ 6 3! 6 3" !'.$ $'.$ 6 $$ # )# 6 s 6 6 2%' 6 $$ 6 3! 6 3" !'.$ $'.$ )# 6 2%' 6 s 6 $$ 6 "!4 ,ogigsuppliedby ).4%2.!, voltageregulator ,ogigsuppliedby %84%2.!,voltageregulator
L6470 phase current control doc id 16737 rev 1 29/61 7 phase current control L6470 controls the phase current applying a sinusoidal voltage to motor windings ( figure 12 ). phase current amplitude is not directly controlled but depends on phase voltage amplitude, load torque, motor electrical characteristics and rotation speed. sinewave amplitude is proportional to the motor supply voltage multiplied by a coefficient (k val ). k val ranges from 0 to 100% and the sinewave amplitude can be obtained through the following formula: equation 1 different k val values can be programmed for acceleration, deceleration and constant speed phases and when motor is stopped (hold phase) through kval_acc, kval_dec, kval_run and kval_hold registers (see paragraph 9.1.10 ). L6470 offers various methods to guarantee a stable current value, allowing the compensation of: back electromotive force value (see paragraph 7.3 ); motor supply voltage variation (see paragraph 7.4 ); windings resistance variation (see paragraph 7.5 ). 7.1 pwm sinewave generators two voltage sinewaves applied to stepper motor phases are generated by two pwm modulators. pwm frequency (f pwm ) is proportional to th e oscillator frequency (f osc ) and can be obtained through the following formula: equation 2 'n' is the integer division factor and 'm' is the multiplication factor. 'n' and 'm' values can be programmed by f_pwm_int and f_pwm_dec parameters in config register (see ta bl e 2 0 and ta bl e 2 1 , paragraph 9.1.21 ). available pwm frequencies are listed in paragraph 9.1.21 from ta b l e 2 2 to ta bl e 2 5 . 7.2 sensorless stall detection depending on motor speed and load angle characteristics, L6470 offers a motor stall condition detection using a programmable current comparator. when a stall event occurs, the respective fl ag (step_loss_a or step_loss_b) is forced low until a getstaus command or a system reset occurs (see paragraph 9.2.18 ). val s out k v v ? = ? ? =
phase current control L6470 30/61 doc id 16737 rev 1 7.3 bemf compensation using the speed information, a compensation curve is added to the amplitude of the voltage waveform applied to the motor winding in order to compensate the bemf variations during acceleration and deceleration (see figure 12. ). compensation curve is approximated by a stacke d line with a starting slope (st_slp) when speed is lower than a programmable threshold speed (int_speed) and a fine slope (fn_slp_acc and fn_slp_dec) when speed is greater than the threshold speed (see paragraphs 9.1.11 , 9.1.12 , 9.1.13 and 9.1.14 ). figure 12. bemf compensation curve to obtain different current values during acceleration and deceleration two different final slope values, and consequently two different compensation curves, can be programmed. acceleration compensation curve is applied when the motor runs. no bemf compensation is applied when the motor is stopped. 7.4 motor supply voltage compensation the sinewave amplitude generated by the pwm modulators is directly proportional to the motor supply voltage (v s ). when the motor supply voltage is different from its nominal value, motor phases are driven with an incorrect voltage. the L6470 can compensate motor supply voltage variations in order to avoid this effect. motor supply voltage should be connected to the integrated adc input through a resistor divider in order to obtain v reg /2 voltage at the adcin pin when v s is at its nominal value (see figure 13 ). adc input is sampled at f s frequency, which is equal to pwm frequency. !-v 3peed #ompensation value ).4?30%%$ 34?3,0 &.?3,0? !## &.?3,0?$%#
L6470 phase current control doc id 16737 rev 1 31/61 figure 13. motor supply voltage compensation circuit motor supply voltage compensation can be enabled setting high the en_vscomp bit of config register (see ta b l e 1 9 , paragraph 9.1.21 ). if en_vscomp bit is low the compensation is disabled and the internal analog to digital converter is at user disposal; sampling rate is always equal to pwm frequency. 7.5 winding resistance th ermal drift compensation the higher is the winding resistance the greater is the voltage to be applied in order to obtain the same phase current. in order to compensate the winding resistance drift an initial system calibration is needed. calibration should be performed when the motor is cold (before working). !-v !$#). !$#  f 07- !$#?/54 6 3 6 2%' 2 ! 2 " 6 !$#). 6 3 x2 " 2 ! 2 "
serial interface L6470 32/61 doc id 16737 rev 1 8 serial interface the integrated 8bit serial peripheral interface (spi) is used for a synchronous serial communication between the host microprocessor (always master) and the L6470 (always slave). the spi comprises chip select (cs ), serial clock (ck), serial data input (sdi) and serial data output (sdo) pins. when cs is high the device is unselected and the sdo line is inactive (high-impedance). the communication starts when cs is forced low. ck line is us ed for synchronization of data communication. all commands and data bytes are shifted into the device, most significant bit first, through sdi input. the sdi is sampled on the rising edges of the ck. all output data bytes are shifted out of the de vice, most significant bit first, through sdo output. the sdo is latched on the falling edge s of the ck. when a return value from the device is not available an all zero byte is sent. after each byte transmission the cs input must be raised and be kept high for at least t discs in order to allow the device to decode the received command and put into the shift register the return value. all timing requirements are shown in figure 14 (see respective electrical characteristics section for values). multiple devices can be connected in daisy-chain configuration, as shown in figure 15 . figure 14. spi timings diagram !-v #+ 3$) 3$/ #3 -3" ,3" ,3" .  .  -3" (i: .  .  t set#3 t en3$/ t set3$) t hol3$) t v3$/ t hol3$/ t r#+ t f#+ t h#+ t l#+ t dis3$/ t hol3$/ t dis#3 -3"
L6470 serial interface doc id 16737 rev 1 33/61 figure 15. daisy-chain configuration !-v (/34 (/3430)signals $%6 #3 3$/ - 3$) - #3 #+ 3$) 3$/ #3 #+ 3$) - 3$/ - $%6 #3 #+ 3$) 3$/ $%6. #3 #+ 3$) 3$/ "yte. "yte. "yte. "yte. "yte.  "yte.  "yte "yte
programming manual L6470 34/61 doc id 16737 rev 1 9 programming manual 9.1 registers and flags description following a map of the user available registers (detailed description in respective paragraphs): table 8. registers map address [hex] register name register function len. [bit] reset hex reset value remarks (1) h01 abs_pos current position 22 000000 0 r, ws h02 el_pos electrical position 9 000 0 r, ws h03 mark mark position 22 000000 0 r, ws, wr h04 speed current speed 20 00000 0 step/tick (0 step/s) r h05 acc acceleration 12 08a 125.5e-12 step/tick 2 (2008 step/s 2 ) r, ws h06 dec deceleration 12 08a 125.5e-12 step/tick 2 (2008 step/s 2 ) r, ws h07 max_speed maximum speed 10 041 248e-6 step/tick (991.8 step/s) r, ws, wr h08 min_speed minimum speed 12 000 0 step/tick (0 step/s) r, ws h15 fs_spd full step speed 10 027 150.7e-6 step/tick (602.7 step/s) r, ws, wr h09 kval_hold holding k val 8 29 0.16vs r, ws, wr h0a kval_run constant speed k val 8 29 0.16vs r, ws, wr h0b kval_acc acceleration starting k val 8 29 0.16vs r, ws, wr h0c kval_dec deceleration starting k val 8 29 0.16vs r, ws, wr h0d int_spd intersect speed 14 0408 61.5e-6 step/tick (246 step/s) r, ws h0e st_slp start slope 8 19 0.038% s/step r, ws h0f fn_slp_acc acceleration final slope 8 29 0.063% s/step r, ws h10 fn_slp_dec deceleration final slope 8 29 0.063% s/step r, ws h11 k_therm thermal compensation factor 4 0 1.0 r, ws, wr h12 adc_out adc output 5 xx (2) r h13 ocd_th ocd threshold 4 8 3.38a r, ws, wr h14 stall_th stall threshold 7 40 2.03a r, ws, wr h16 step_mode step mode 8 7 128 microsteps r, ws h17 alarm_en alarms enables 8 ff all alarms enabled r, ws, wr
L6470 programming manual doc id 16737 rev 1 35/61 9.1.1 abs_pos the abs_pos register contains the current motor absolute position in ag reement to the selected step mode; the stored value unit is equal to the selected step mode (full, half, quarter, etc.). the available range is from -2 21 to +2 21 -1 microsteps. at power-on the register is initialized to "0" (home position). any attempt to write to the register when the motor is running causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). 9.1.2 el_pos the el_pos register contains the current elec trical position of the motor. the two msbits indicate the current step and the other bits indicate the current microstep (expressed in step/128) within the step: when el_pos register is written by the user the new electrical position is instantly imposed. when el_pos register is written its value must be masked in order to mach with the step mode selected in step_mode register in order to avoid a wrong microstep value generation (see paragraph 9.1.19 ); otherwise the resulting microstep sequence will be incorrect. any attempt to write to the register when the motor is running causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). h18 config ic configuration 16 2e88 internal oscillator, 2mhz oscout clock, supply voltage compensation disabled, overcurrent shutdown enabled, slew-rate = 290 v/s pwm frequency = 15.6khz. r, ws h19 status status 16 xxxx (2) high impedance state, uvlo/reset flag set. r h1a reserved reserved address h1b reserved reserved address 1. r: readable, ws: writable when motor is stopped, wr: writable when motor is running. 2. according to startup conditions. table 8. registers map (continued) address [hex] register name register function len. [bit] reset hex reset value remarks (1) table 9. el_pos register bit 8 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 step microstep
programming manual L6470 36/61 doc id 16737 rev 1 9.1.3 mark the mark register contains an absolute posi tion called mark in agreement to the selected step mode; the stored value unit is equal to the selected step mode (full, half, quarter, etc.). it is configurable by user through a setparam or gountil command (see paragraphs 9.2.2 and 9.2.9 ). 9.1.4 speed the speed register contains th e current moto r speed, expressed in step/tick (format unsigned fixed point 0.28). in order to convert the speed value in st ep/s the following formula can be used: equation 3 speed is the integer number stored into the register and tick is 250 ns. the available range is from 0 to 15625 step/s with a resolution of 0.015 step/s. note: the range effectively available to the user is limited by the max_speed parameter. any attempt to write to the register causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). 9.1.5 acc the acc register contains the speed profile acceleration expressed in step/tick2 (format unsigned fixed point 0.40). in order to convert acc value in step/s2 the following formula can be used: equation 4 acc is the integer number stored into the register and tick is 250 ns. the available range is from 14.55 to 59590 step/s 2 with a resolution of 14.55 step/s 2 . if the user tries to set acc parameter to zero, command is not performed and notperf_cmd flag is raised (see paragraph 9.1.22 ). any attempt to write to the register when the motor is running causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). acc value hff is reserved. [] tick 2 speed s / step 28 ? ? = [ ] 2 40 2 tick 2 acc s / step ? ? =
L6470 programming manual doc id 16737 rev 1 37/61 9.1.6 dec the dec register contains th e speed profile deceleration expressed in step/tick2 (format unsigned fixed point 0.40). in order to convert dec value in step/s 2 the following formula can be used: equation 5 dec is the integer number stored into the register and tick is 250 ns. the available range is from 14.55to 59590 step/s2 with a resolution of 14.55 step/s2. if the user tries to set dec parameter to zero, command is not performed and notperf_cmd flag is raised (see paragraph 9.1.22 ). any attempt to write to the register when the motor is running causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). 9.1.7 max_speed the max_speed register contains the spe ed profile maximum speed expressed in step/tick (format unsigned fixed point 0.18). in order to convert it in step/s the following formula can be used: equation 6 max_speed is the integer number stored in to the register and tick is 250 ns. the available range is from 15.25 to 15610 step/s with a resolution of 15.25 step/s. if the user tries to set m ax_speed parameter to zero, co mmand is not performed and notperf_cmd flag is raised (see paragraph 9.1.22 ). 9.1.8 min_speed the min_speed register contains the speed pr ofile minimum speed expressed in step/tick (format unsigned fixed point 0.24). in order to convert it in step/s the following formula can be used: equation 7 min_speed is the integer numb er stored into the register and tick is 250 ns. the available range is from 0 to 976.3 step/s with a resolution of 0.238 step/s. [ ] 2 40 2 tick 2 dec s / step ? ? = [] tick 2 speed _ max s / step 18 ? ? = [] tick 2 speed _ min s / step 24 ? ? =
programming manual L6470 38/61 doc id 16737 rev 1 any attempt to write to the register when the motor is running causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). 9.1.9 fs_spd the fs_spd register contains the threshold speed value over which the step mode is automatically switched to full step two-phase on. its value is expressed in step/tick (format unsigned fixed point 0.18) and to convert it in step/s the following formula can be used: equation 8 if fs_spd value is set to hff (max) the system always works in microstepping mode (speed must go over the threshold to switch to full step mode). setting fs_spd to zero has not the same effect as setting step mode to full step two phase on: zero fs_spd value is equivalent to a speed threshold of about 7.63 step/s the available range is from 7.63 to 15625 step/s with a resolution of 15.25 step/s. 9.1.10 kval_hold, kval _run, kval_acc and kval_dec the kval_hold register contains the k val value that is assigned to the pwm modulators when the motor is stopped (compensations excluded). the kval_run register contains the k val value that is assigned to the pwm modulators when the motor is running at const ant speed (compensations excluded). the kval_acc register contains the starting k val value that can be assigned to the pwm modulators during acceleration (compensations excluded). the kval_dec register contains the starting k val value that can be assigned to the pwm modulators during deceleration (compensations excluded). the available range is from 0 to 0.996 x v s with a resolution of 0.004 x v s as shown in ta bl e 6 . [] tick 2 ) 5 . 0 spd _ fs ( s / step 18 ? ? + = table 10. voltage amplitude regulation registers kval_x [7..0] output voltage 00000000 0 00000001 v s x (1/256) ? ? ? ? ? ? ? ? ? 11111110 v s x (254/256) 11111111 v s x (255/256)
L6470 programming manual doc id 16737 rev 1 39/61 9.1.11 int_speed the int_speed register contains the speed value at which the bemf compensation curve changes slope (see paragraph 7.3 for details). its value is ex pressed in step/tick and to convert it in [step/s] the following formula can be used: equation 9 where int_speed is the integer number stored into the regi ster and tick is 250 ns. the available range is from 0 to 3906 step/s with a resolution of 0.238 step/s. any attempt to write to the register when the motor is running causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). 9.1.12 st_slp the st_slp register contains the bemf comp ensation curve slope that is used when the speed is lower than the intersect speed (see paragraph 7.3 for details). its value is expressed in s/step and the available range is from 0 to 0.004 with a resolution of 0.000015. when st_slp, fn_slp_acc and fn_slp_dec parameters are set to zero no bemf compensation is performed. any attempt to write to the register when the motor is running causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). 9.1.13 fn_slp_acc the fn_slp_acc register contains the bemf compensation curve slope that is used when the speed is greater than the intersect speed during acceleration (see paragraph 7.3 for details). its value is expressed in s/step and the available range is from 0 to 0.004 with a resolution of 0.000015. when st_slp, fn_slp_acc and fn_slp_dec parameters are set to zero no bemf compensation is performed. any attempt to write to the register when the motor is running causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). 9.1.14 fn_slp_dec the fn_slp_dec register contains the bemf co mpensation curve slope that is used when the speed is greater than the intersect speed during deceleration (see paragraph 7.3 for details). its value is expressed in s/step and the available range is from 0 to 0.004 with a resolution of 0.000015. when st_slp, fn_slp_acc and fn_slp_dec parameters are set to zero no bemf compensation is performed. any attempt to write to the register when the motor is running causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). [] tick 2 speed _ int s / step 24 ? ? =
programming manual L6470 40/61 doc id 16737 rev 1 9.1.15 k_therm the k_therm register contains the value used by the winding resistance thermal drift compensation system (see paragraph 7.5 ). the available range is from 1 to 1.46875 with a resolution of 0.03125 as shown in ta b l e 7 . 9.1.16 adc_out the adc_out register contains th e result of the analog to digital conversion of the adcin pin voltage; the result is available even if the supply voltage compensation is disabled. any attempt to write to the register causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). table 11. winding resistance thermal drift compensation coefficient k_therm [3..0] compensation coeff. 0000 1 0 0 0 1 1.03125 ? ? ? ? ? 1 1 1 0 1.4375 1 1 1 1 1.46875 table 12. adc_out value and motor s upply voltage compensation feature v s v adcin /v reg adc_out [4..0] compensation coefficient greater than v s , nom + 50% > 24/32 1 1 x x x 0.65625 v s , nom + 50% 24/32 1 1 0 0 0 0.65625 ? ? ? ? ? ? ? ? v s , nom 16/32 10000 1 ? ? ? ? ? ? ? ? v s , nom ? 50% 8/32 0 1 0 0 0 1.968875 lower than v s , nom ? 50% < 8/32 0 0 x x x 1.968875
L6470 programming manual doc id 16737 rev 1 41/61 9.1.17 ocd_th the ocd_th register contains the overcurrent threshold value (see paragraph 6.9 for details). the available range is from 375 ma to 6 a, steps of 375 ma as shown in ta bl e 9 . 9.1.18 stall_th the stall_th register contains the sta ll detection threshold value (see paragraph 7.2 for details). the available range is from 31.25 ma to 4 a with a resolution of 31.25 ma. table 13. overcurrent detection threshold ocd_th [3..0] overcurrent detection threshold 0000 375 ma 0001 750 ma ???? ? 1110 5.625 a 1111 6 a table 14. stall detection threshold stall_th [6..0] stall detection threshold 0000000 31.25 ma 0000001 62.5 ma ??????? ? 1111110 3.969 a 1111111 4 a
programming manual L6470 42/61 doc id 16737 rev 1 9.1.19 step_mode the step_mode register has the following structure: step_sel selects one of eight possible stepping modes: every time the step mode is changed the electr ical position (i.e. the point of microstepping sinewave that is generated) is reset to the first microstep. warning: every time step_sel is changed the value in abs_pos register looses meaning and should be reset. any attempt to write to the register when the motor is running causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). table 15. step_mode register bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 00000 step_sel table 16. step mode selection step_sel[2..0] step mode 000full step 0 0 1 half step 0 1 0 1/4 microstep 0 1 1 1/8 microstep 1 0 0 1/16 microstep 1 0 1 1/32 microstep ( 1 ) 1 1 0 1/64 microstep ( 1 ) 1 1 1 1/128 microstep ( 1 )
L6470 programming manual doc id 16737 rev 1 43/61 9.1.20 alarm_en the alarm_en register allows selecting which alarm signals are used to generate the flag output. if the respective bit of alarm_ en register is set high, the alarm condition forces the flag pin output down. 9.1.21 config the config register has the following structure: the osc_sel and ext_clk bits set the system clock source: table 17. alarm_en register alarm_en bit ala rm condition 0 (lsb) overcurrent 1 thermal shutdown 2 thermal warning 3 under-voltage 4 stall detection (bridge a) 5 stall detection (bridge b) 6 switch turn-on event 7 (msb) wrong or not performable command table 18. config register bit 15 bit 14 bit 13 bit 12 bit 11 bit 10 bit 9 bit 8 f_pwm_int f_pwm_dec pow_sr bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 oc_sd reserved en_vscomp sw_mode ext_clk osc_sel table 19. oscillator management ext_clk osc_sel[2..0] clock source oscin oscout 0000 internal oscillator: 16mhz unused unused 0001 0010 0011 1 0 0 0 internal oscillator: 16mhz unused supplies a 2mhz clock 1 0 0 1 internal oscillator: 16mhz unused supplies a 4mhz clock 1 0 1 0 internal oscillator: 16mhz unused supplies a 8mhz clock
programming manual L6470 44/61 doc id 16737 rev 1 the sw_mode bit sets the external switch to act as hardstop interrupt or not: the oc_sd bit sets if an overcurrent event c auses or not the bridges to turn-off; the ocd flag in status register is forced low anyway: the pow_sr bits set the slew rate value of power bridge output: 1 0 1 1 internal oscillator: 16mhz unused supplies a 16mhz clock 0100 external crystal or resonator: 8mhz crystal/reson ator driving crystal/resonator driving 0101 external crystal or resonator: 16mhz crystal/reson ator driving crystal/resonator driving 0110 external crystal or resonator: 24mhz crystal/reson ator driving crystal/resonator driving 0111 external crystal or resonator: 32mhz crystal/reson ator driving crystal/resonator driving 1100 ext clock source: 8mhz (crystal/resonator driver disabled) clock source supplies inverted oscin signal 1101 ext clock source: 16mhz (crystal/resonator driver disabled) clock source supplies inverted oscin signal 1110 ext clock source: 24mhz (crystal/resonator driver disabled) clock source supplies inverted oscin signal 1111 ext clock source: 32mhz (crystal/resonator driver disabled) clock source supplies inverted oscin signal table 19. oscillator management (continued) ext_clk osc_sel[2..0] clock source oscin oscout table 20. external switch hard stop interrupt mode sw_mode switch mode 0 hardstop interrupt 1 user disposal table 21. overcurrent event oc_sd overcurrent event 1 bridges shut down 0 bridges do not shut down
L6470 programming manual doc id 16737 rev 1 45/61 see srout parameter in electrical characteristics table for details the en_vscomp bit sets if the motor supply voltage compensation is enabled or not. the f_pwm_int bits set the integer division factor of pwm frequency generation: table 22. programmable power bridge output slew-rate values pow_sr [1..0] output slew-rate ( 1 ) [v/s] 0 0 180 0 1 180 1 0 290 1 1 530 table 23. motor supply voltage compensation enable en_vscomp motor supply voltage compensation 0 disabled 1 enabled table 24. pwm frequency: integer division factor f_pwm_int [2..0] integer division factor 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111
programming manual L6470 46/61 doc id 16737 rev 1 the f_pwm_dec bits set the multiplication factor of pwm frequency generation: in the following tables all available pwm fr equencies are listed ac cording to oscillator frequency, f_pwm_int and f_pwm_dec values (config register osc_sel parameter has to be correctly programmed). table 25. pwm frequency: multiplication factor f_pwm_dec [2..0] mult iplication factor 000 0.625 001 0.75 010 0.875 011 1 100 1.25 101 1.5 110 1.75 111 2 table 26. available pwm frequencies [khz]: 8 mhz oscillator frequency f_pwm_dec f_pwm_ int 000 001 010 011 100 101 110 111 000 9.8 11.7 13.7 15.6 19.5 23.4 27.3 31.3 001 4.9 5.9 6.8 7.8 9.8 11.7 13.7 15.6 010 3.3 3.9 4.6 5.2 6.5 7.8 9.1 10.4 011 2.4 2.9 3.4 3.9 4.9 5.9 6.8 7.8 100 2.0 2.3 2.7 3.1 3.9 4.7 5.5 6.3 101 1.6 2.0 2.3 2.6 3.3 3.9 4.6 5.2 110 1.4 1.7 2.0 2.2 2.8 3.3 3.9 4.5
L6470 programming manual doc id 16737 rev 1 47/61 table 27. available pwm frequencies [khz]: 16 mhz oscillator frequency f_pwm_dec f_pwm_int 000 001 010 011 100 101 110 111 000 19.5 23.4 27.3 31.3 39.1 46.9 54.7 62.5 001 9.8 11.7 13.7 15.6 19.5 23.4 27.3 31.3 010 6.5 7.8 9.1 10.4 13.0 15.6 18.2 20.8 011 4.9 5.9 6.8 7.8 9.8 11.7 13.7 15.6 100 3.9 4.7 5.5 6.3 7.8 9.4 10.9 12.5 101 3.3 3.9 4.6 5.2 6.5 7.8 9.1 10.4 110 2.8 3.3 3.9 4.5 5.6 6.7 7.8 8.9 table 28. available pwm frequencies [khz]: 24 mhz oscillator frequency f_pwm_dec f_pwm_int 000 001 010 011 100 101 110 111 000 29.3 35.2 41.0 46.9 58.6 70.3 82.0 93.8 001 14.6 17.6 20.5 23.4 29.3 35.2 41.0 46.9 010 9.8 11.7 13.7 15.6 19.5 23.4 27.3 31.3 011 7.3 8.8 10.3 11.7 14.6 17.6 20.5 23.4 100 5.9 7.0 8.2 9.4 11.7 14.1 16.4 18.8 101 4.9 5.9 6.8 7.8 9.8 11.7 13.7 15.6 110 4.2 5.0 5.9 6.7 8.4 10.0 11.7 13.4
programming manual L6470 48/61 doc id 16737 rev 1 any attempt to write the config register when the motor is running causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). 9.1.22 status when hiz flag is high it indicates that the bridges are in high impedance state. whichever motion command makes the device to exit from high z state (hardstop and softstop included), unless error flags forcing a high z state are active. the uvlo flag is active low and is set by an under-voltage lock out or reset events (power- up included). the th_wrn, th_sd, ocd flags are active low and indicate respectively thermal warning, thermal shutdown and over-current detection events. step_loss_a and step_loss_b flags are forced low when a stall is detected on bridge a or bridge b respectively. the notperf_cmd and wrong_cmd flags are active high and indicate respectively that the command received by spi can't be performed or does not exist at all. sw_f report the sw input status (low for open and high for closed). sw_evn flag is active high and indicates a switch turn-on event (sw input falling edge). table 29. available pwm frequencies [khz]: 32 mhz oscillator frequency f_pwm_dec f_pwm_ int 000 001 010 011 100 101 110 111 000 39.1 46.9 54.7 62.5 78.1 93.8 109.4 125.0 001 19.5 23.4 27.3 31.3 39.1 46.9 54.7 62.5 010 13.0 15.6 18.2 20.8 26.0 31.3 36.5 41.7 011 9.8 11.7 13.7 15.6 19.5 23.4 27.3 31.3 100 7.8 9.4 10.9 12.5 15.6 18.8 21.9 25.0 101 6.5 7.8 9.1 10.4 13.0 15.6 18.2 20.8 110 5.6 6.7 7.8 8.9 11.2 13.4 15.6 17.9 table 30. status register bit 15 bit 14 bit 13 bit 12 bit 11 bit 10 bit 9 bit 8 sck_mod step_loss_b step_loss_a ocd th_sd th_wrn uvlo wrong_cmd bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 notperf_cmd mot_status d ir sw_evn sw_f busy hiz
L6470 programming manual doc id 16737 rev 1 49/61 uvlo, th_wrn, th_sd, ocd, step_l oss_a, step_loss_b, notperf_cmd, wrong_cmd and sw_evn flags are latched: w hen the respective conditions make them active (low or high) they remain in that stat e until a getstatus command is sent to the ic. the busy bit reflects the busy pin status. busy flag is low when a constant speed, positioning or motion command is under execution and is released (high) after the command have been completed. the dir bit indicates the current motor direction: mot_status indicates the current motor status: any attempt to write to the register causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). table 31. status register dir bit dir motor direction 1forward 0reverse table 32. status register mot_state bits mot_status motor status 0 0 stopped 0 1 acceleration 10 deceleration 1 1 constant speed
programming manual L6470 50/61 doc id 16737 rev 1 9.2 application commands the commands summary is given in the table below. table 33. application commands command mnemonic command binary code action [7..5] [4] [3] [2..1] [0] nop 000 0 0 00 0 nothing setparam(param,value) 000 [param] writes value in param register getparam(param) 001 [param] returns the stored value in param register run(dir,spd) 010 1 0 00 dir sets the target speed and the motor direction stepclock(dir) 010 1 1 00 dir put the device in step clock mode and impose dir direction move(dir,n_step) 010 0 0 00 dir makes n_step (micro)steps in dir direction (not performable when motor is running) goto(abs_pos) 011 0 0 00 0 brings motor in abs_pos position (minimum path) goto_dir(dir,abs_pos) 011 0 1 00 dir brings moto r in abs_pos position forcing dir direction gountil(act,dir,spd) 100 0 act 01 dir perform a motion in dir direction with speed spd until sw is closed, the act acti on is executed then a softstop takes place reserved 100 1 0 01 0 reserved command reserved 100 1 0 01 1 reserved command reserved 100 1 1 01 0 reserved command reserved 100 1 1 01 1 reserved command gohome 011 1 0 00 0 brings the motor in home position reserved 011 1 1 00 0 reserved command resetpos 110 1 1 00 0 reset the abs_pos register (set home position) resetdevice 110 0 0 00 0 device is reset to power-up conditions. softstop 101 1 0 00 0 stops motor with a deceleration phase hardstop 101 1 1 00 0 stops motor immediately softhiz 101 0 0 00 0 puts the bridges in high impedance status after a deceleration phase hardhiz 101 0 1 00 0 puts the bridges in high impedance status immediately lastcommand 110 0 1 00 0 returns last programmed command getstatus 110 1 0 00 0 returns the status register value reserved 111 0 1 01 1 reserved command reserved 111 1 1 00 0 reserved command
L6470 programming manual doc id 16737 rev 1 51/61 when a binary sequence that does not correspo nd to a command is sent to the ic, nothing is performed and the status register wrong_cmd flag to rise (see paragraph 9.1.22 ). the commands are described in details hereafter. 9.2.1 nop nothing is performed. 9.2.2 setparam (param, value) this command sets the param register value equal to value; param is the respective register address listed in ta bl e 4 . some registers cannot be written (see ta b l e 4 ); any attempt to write one of those registers causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). some registers can only be written when the motor is stopped (see ta b l e 4 ); any attempt to write one of those registers when the motor is running causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). any attempt to set acc, dec or max_speed va lues to zero causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). 9.2.3 getparam (param) table 34. nop command structure bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 00000000 from host table 35. setparam command structure bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 000 param from host byte 2 (if needed) byte 1 (if needed) byte 0 table 36. getparam command structure bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 001 param from host byte 2 (if needed) to host byte 1 (if needed) to host byte 0 to host
programming manual L6470 52/61 doc id 16737 rev 1 this command reads the current param register value; param is the respective register address listed in ta b l e 4 . all registers can be read anytime. 9.2.4 run (dir, spd) run command produces a motion at spd speed; the direction is selected by dir bit: '1' forward or '0' reverse. note that spd value should be lower than max_speed and greater than min_speed otherwise the run command will be ex ecuted at max_speed or min_speed respectively. this command can be given anytime and is immediately executed. 9.2.5 stepclock (dir) stepclock command switches the device in step clock mode (see paragraph 6.7.4 ) and impose the forward (dir = '1') or reverse (dir = '0') direction. when the device is in step clock mode the sc k_mod flag in status register is raised and the motor is always considered stopped (see paragraphs 6.7.4 and 9.1.22 ). device exits from step clock mode when a cons tant speed, absolute positioning or motion command is sent through spi. motion directio n is imposed by the respective stepclock command argument and can by changed by a new stepclock command without exiting the step clock mode. events that cause bridges to be forced in high impedance state (overtemperature, overcurrent, etc.) do not cause the device to leave step clock mode. this command can only be given when the motor is stopped. if a motion is in progress the motor should be stopped and then it is possible to send a stepclock command. any attempt to perform a stepclock command when the motor is running causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). table 37. run command structure bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0 0101000dir from host xxxx spd (byte 2) from host spd (byte 1) from host spd (byte 0) from host table 38. stepclock command structure bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 0101100dir from host
L6470 programming manual doc id 16737 rev 1 53/61 9.2.6 move (dir, n_step) move command produces a motion of n_step ()steps; the direction is selected by dir bit ('1' forward or '0' reverse). the n_step value is always in agreement with the selected step mode; the parameter value unit is equal to the selected step mode (full, half, quarter, etc.). this command can be only performed when the motor is stopped. if a motion is in progress the motor must be stopped and then it is possible to perform a move command. any attempt to perform a move command when the motor is running causes the command to be ignored and the notperf_cmd to rise (see paragraph 9.1.22 ). 9.2.7 goto (abs_pos) goto command produces a motion to abs_pos ab solute position through the shortest path. the abs_pos value is always in agreem ent with the select ed step mode; the parameter value unit is equal to the sele cted step mode (full, half, quarter, etc.). this command can be given anytime and is immediately executed. 9.2.8 goto_dir (dir, abs_pos) table 39. move command structure bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 0100000dir from host x x n_step (byte 2) from host n_step (byte 1) from host n_step (byte 0) from host table 40. goto command structure bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 0 1 1 00000 from host x x abs_pos (byte 2) from host abs_pos (byte 1) from host abs_pos (byte 0) from host table 41. goto_dir command structure bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0 0110100dir from host x x abs_pos (byte 2) from host abs_pos (byte 1) from host abs_pos (byte 0) from host
programming manual L6470 54/61 doc id 16737 rev 1 goto_dir command produces a motion to abs_pos absolute po sition imposing a forward (dir = '1') or a reverse (dir = '0') rotation . the abs_pos value is always in agreement with the selected step mode; the parameter value unit is equal to the selected step mode (full, half, quarter, etc.). this command can be given anytime and is immediately executed. 9.2.9 gountil (act, dir, spd) gountil command produces a motion at spd speed imposing a forward (dir = '1') or a reverse (dir = '0') direction. when an external switch turn-on event occurs (see paragraph 6.13 ), the abs_pos register is reset (if act = '0 ') or the abs_pos register value is copied into the mark register (if act = '1'); then the system performs a softstop command. spd value should be lower than max_speed and greater th an min_speed, otherwise the target speed will be imposed at m ax_speed or min_speed respectively. if sw_mode bit of config register is set low, the external switch turn-on event causes a hardstop interrupt instead of the softstop command (see paragraphs 6.13 and 9.1.22 ). this command can be given anytime and is immediately executed. 9.2.10 gohome gohome command produces a motion to home position (zero position) via the shortest path.s note that this command is equivalent to "goto(0?0)" command. if a motor direction is mandatory the goto_dir command has to be used (see paragraph 9.2.8 ). this command can be given anytime and is immediately executed. table 42. gountil command structure bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 1 0 0 0 act 0 1 dir from host x x x x spd (byte 2) from host spd (byte 1) from host spd (byte 0) from host table 43. gohome command structure bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0 01110000 from host
L6470 programming manual doc id 16737 rev 1 55/61 9.2.11 resetpos resetpos command resets the abs_ pos register to zero. the zero position is also defined as home position (see paragraph 6.5 ). 9.2.12 resetdevice resetdevice command resets the device to power-up conditions (see paragraph 6.1 ). note: at power-up the power bridges are disabled. 9.2.13 softstop the softstop command causes an immediate dece leration to zero speed and a consequent motor stop; the deceleration value used is the one stored in dec register (see paragraph 9.1.6 ). when the motor is in high-impedance state, a softstop command forces the bridges to exit from high impedance state; no motion is performed. 9.2.14 hardstop the hardstop command causes an immediate motor stop with infinite deceleration. when the motor is in high-impedance state, a hardstop command forces the bridges to exit from high impedance state; no motion is performed. table 44. resetpos command structure bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0 11011000 from host table 45. resetdevice command structure bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0 11000000 from host table 46. softstop command structure bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0 10110000 from host table 47. hardstop command structure bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0 10111000 from host
programming manual L6470 56/61 doc id 16737 rev 1 9.2.15 softhiz the softhiz command disables the power bridges (high-impedance state) after a deceleration to zero; the deceleration value used is the one stored in dec register (see paragraph 9.1.6 ). when bridges are disabled the hiz flag is raised. when the motor is stopped, a softhiz comman d forces the bridges to enter in high- impedance state. 9.2.16 hardhiz the hardhiz command immediately disables the power bridges (high-impedance state) and raises the hiz flag. when the motor is stopped, a hardhiz command forces the bridges to enter in high- impedance state. 9.2.17 lastcommand this command returns the last command, pa rameters included, sent to the device. note: lastcommand is considered as a normal command and then it becomes the new "last command". table 48. softhiz command structure bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 10100000 from host table 49. hardhiz command structure bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 10101000 from host table 50. lastcommand command structure bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 11001000 from host last command byte to host argument byte 2 (if needed) to host argument byte 1 (if needed) to host argument byte 0 (if needed) to host
L6470 programming manual doc id 16737 rev 1 57/61 9.2.18 getstatus getstatus command returns the status register value. getstatus command resets the status register warning flags. the command forces the system to exit from any error state. ge tstatus command do not reset hiz flag. table 51. getstatus command structure bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0 11010000 from host status msbyte to host status lsbyte to host
package mechanical data L6470 58/61 doc id 16737 rev 1 10 package mechanical data in order to meet environmental requirements, st offers these devices in different grades of ecopack? packages, depending on their level of environmental compliance. ecopack? specifications, grade definitions an d product status are available at: www.st.com. ecopack is an st trademark. table 52. htssop28 mechanical data dim mm min typ max a 1.2 a1 0.15 a2 0.8 1.0 1.05 b0.19 0.3 c0.09 0.2 d (1) 1. dimension "d" does not include mold fl ash, protrusions or gate burrs. mold flash, protrusions or gate burrs shall not exceed 0.15 mm per side. 9.6 9.7 9.8 d1 5.5 e 6.2 6.4 6.6 e1 (2) 2. dimension "e1" does not include in terlead flash or protrusions. interl ead flash or protrusions shall not exceed 0.25 mm per side. 4.3 4.4 4.5 e2 2.8 e0.65 l0.450.60.75 l1 1.0 k0 8 aaa 0.1
L6470 package mechanical data doc id 16737 rev 1 59/61 figure 16. htssop28 mechanical data !-v
revision history L6470 60/61 doc id 16737 rev 1 11 revision history table 53. document revision history date revision changes 06-nov-2009 1 initial release.
L6470 doc id 16737 rev 1 61/61 please read carefully: information in this document is provided solely in connection with st products. stmicroelectronics nv and its subsidiaries (?st ?) reserve the right to make changes, corrections, modifications or improvements, to this document, and the products and services described he rein at any time, without notice. all st products are sold pursuant to st?s terms and conditions of sale. purchasers are solely responsible for the choice, selection and use of the st products and services described herein, and st as sumes no liability whatsoever relating to the choice, selection or use of the st products and services described herein. no license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. i f any part of this document refers to any third party products or services it shall not be deemed a license grant by st for the use of such third party products or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoev er of such third party products or services or any intellectual property contained therein. unless otherwise set forth in st?s terms and conditions of sale st disclaims any express or implied warranty with respect to the use and/or sale of st products including without limitation implied warranties of merchantability, fitness for a parti cular purpose (and their equivalents under the laws of any jurisdiction), or infringement of any patent, copyright or other intellectual property right. unless expressly approved in writing by an authorized st representative, st products are not recommended, authorized or warranted for use in milita ry, air craft, space, life saving, or life sustaining applications, nor in products or systems where failure or malfunction may result in personal injury, death, or severe property or environmental damage. st products which are not specified as "automotive grade" may only be used in automotive applications at user?s own risk. resale of st products with provisions different from the statements and/or technical features set forth in this document shall immediately void any warranty granted by st for the st product or service described herein and shall not create or extend in any manner whatsoev er, any liability of st. st and the st logo are trademarks or registered trademarks of st in various countries. information in this document supersedes and replaces all information previously supplied. the st logo is a registered trademark of stmicroelectronics. all other names are the property of their respective owners. ? 2009 stmicroelectronics - all rights reserved stmicroelectronics group of companies australia - belgium - brazil - canada - china - czech republic - finland - france - germany - hong kong - india - israel - ital y - japan - malaysia - malta - morocco - philippines - singapore - spain - sweden - switzerland - united kingdom - united states of america www.st.com


▲Up To Search▲   

 
Price & Availability of L6470

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X